home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / VINPUT.DEF < prev    next >
Encoding:
Modula Definition  |  1993-05-20  |  4.8 KB  |  147 lines

  1. DEFINITION MODULE VInput;
  2.  
  3. (*
  4. VDI Input Functions.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM VDI    IMPORT XY,Key,SpecialKey;
  12. FROM PORTAB IMPORT UNSIGNEDWORD,SIGNEDWORD,WORDSET,ANYWORD,ANYTYPE;
  13.  
  14. (* [V]DI: [S]et [In]put [Mode] *********************************************)
  15.  
  16. begin_word
  17. TYPE Devices = (ResvdDev,Locator,Valuator,Choice,String);
  18.  
  19.      InputModes = (ResvdMode,Request,Sample);
  20. end_word
  21.  
  22. PROCEDURE VSInMode(Handle : UNSIGNEDWORD;
  23.                    DevType: Devices;
  24.                    Mode   : InputModes);
  25.  
  26. (* [V]DI: Input [Locator] [R]e[q]uest Mode *********************************)
  27.  
  28. PROCEDURE VRqLocator(     Handle: UNSIGNEDWORD;
  29.                           X     : XY;
  30.                           Y     : XY;
  31.                       VAR XOut  : XY;
  32.                       VAR YOut  : XY;
  33.                       VAR Term  : Key);
  34.  
  35. (* [V]DI: Input [Locator] [S]a[m]ple Mode **********************************)
  36.  
  37. #if no_set_return
  38. PROCEDURE VSmLocator(    Handle: UNSIGNEDWORD;
  39.                          X     : XY;
  40.                          Y     : XY;
  41.                      VAR XOut  : XY;
  42.                      VAR YOut  : XY;
  43.                      VAR Term  : Key): ANYWORD;
  44. #else
  45. PROCEDURE VSmLocator(    Handle: UNSIGNEDWORD;
  46.                          X     : XY;
  47.                          Y     : XY;
  48.                      VAR XOut  : XY;
  49.                      VAR YOut  : XY;
  50.                      VAR Term  : Key): WORDSET;
  51. #endif
  52.  
  53. (* [V]DI: Input [Valuator] [R]e[q]uest Mode ********************************)
  54.  
  55. PROCEDURE VRqValuator(    Handle     : UNSIGNEDWORD;
  56.                           ValuatorIn : UNSIGNEDWORD;
  57.                       VAR ValuatorOut: UNSIGNEDWORD;
  58.                       VAR Terminator : Key);
  59.  
  60. (* [V]DI: Input [Valuator] [S]a[m]ple Mode *********************************)
  61.  
  62. PROCEDURE VSmValuator(    Handle: UNSIGNEDWORD;
  63.                           ValIn : UNSIGNEDWORD;
  64.                       VAR ValOut: UNSIGNEDWORD;
  65.                       VAR Term  : Key;
  66.                       VAR Status: UNSIGNEDWORD);
  67.  
  68. (* [V]DI: Input [Choice] [R]e[q]uest Mode **********************************)
  69.  
  70. PROCEDURE VRqChoice(    Handle: UNSIGNEDWORD;
  71.                         ChIn  : Key;
  72.                     VAR ChOut : Key);
  73.  
  74. (* [V]DI: Input [Choice] [S]a[m]ple Mode ***********************************)
  75.  
  76. PROCEDURE VSmChoice(    Handle: UNSIGNEDWORD;
  77.                     VAR Choice: Key): BOOLEAN;
  78.  
  79. (* [V]DI: Input [String] [R]e[q]uest Mode **********************************)
  80.  
  81. PROCEDURE VRqString(    Handle   : UNSIGNEDWORD;
  82.                         MaxLength: SIGNEDWORD;
  83.                         EchoMode : BOOLEAN;
  84.                     VAR PXY      : ARRAY OF XY;
  85.                     VAR Input    : ARRAY OF CHAR);
  86.  
  87. (* [V]DI: Input [String] [S]a[m]ple Mode ***********************************)
  88.  
  89. PROCEDURE VSmString(    Handle   : UNSIGNEDWORD;
  90.                         MaxLength: SIGNEDWORD;
  91.                         EchoMode : BOOLEAN;
  92.                     VAR PXY      : ARRAY OF XY;
  93.                     VAR Input    : ARRAY OF CHAR): UNSIGNEDWORD;
  94.  
  95. (* [V]DI: [S]et [C]ursor [Form] ********************************************)
  96.  
  97. PROCEDURE VSCForm(    Handle : UNSIGNEDWORD;
  98.                   VAR CurForm: ARRAY OF ANYTYPE);
  99.  
  100. (* [V]DI: [Ex]change [Tim]er Interrupt [V]ector ****************************)
  101.  
  102. PROCEDURE VExTimV(    Handle  : UNSIGNEDWORD;
  103.                       Timer   : PROC;
  104.                   VAR OldTimer: PROC;
  105.                   VAR Time    : UNSIGNEDWORD);
  106.  
  107. (* [V]DI: [Show] [C]ursor **************************************************)
  108.  
  109. PROCEDURE VShowC(Handle: UNSIGNEDWORD;
  110.                  Reset : BOOLEAN);
  111.  
  112. (* [V]DI: [Hide] [C]ursor **************************************************)
  113.  
  114. PROCEDURE VHideC(Handle: UNSIGNEDWORD);
  115.  
  116. (* [V]DI: [Q]uery [Mouse] Button State *************************************)
  117.  
  118. PROCEDURE VQMouse(    Handle: UNSIGNEDWORD;
  119.                   VAR Status: BOOLEAN;
  120.                   VAR X     : XY;
  121.                   VAR Y     : XY);
  122.  
  123. (* [V]DI: [Ex]change [But]ton Change [V]ector ******************************)
  124.  
  125. PROCEDURE VExButV(    Handle  : UNSIGNEDWORD;
  126.                       UsrCode : PROC;
  127.                   VAR SaveCode: PROC);
  128.  
  129. (* [V]DI: [Ex]change Mouse [Mot]ion [V]ector *******************************)
  130.  
  131. PROCEDURE VExMotV(    Handle  : UNSIGNEDWORD;
  132.                       UsrCode : PROC;
  133.                   VAR SaveCode: PROC);
  134.  
  135. (* [V]DI: [Ex]change [Cur]sor Change [V]ector ******************************)
  136.  
  137. PROCEDURE VExCurV(    Handle  : UNSIGNEDWORD;
  138.                       UsrCode : PROC;
  139.                   VAR SaveCode: PROC);
  140.  
  141. (* [V]DI: [Q]uery [Key]board [S]tate ***************************************)
  142.  
  143. PROCEDURE VQKeyS(    Handle: UNSIGNEDWORD;
  144.                  VAR Status: SpecialKey);
  145.  
  146. END VInput.
  147.